package com.pazl.check.api.req.dto;

import com.pazl.check.api.dto.*;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.List;

/**
 * @ClassName Req222Dto  2.22 面签接口入参
 * @Description TODO
 * @Author 陈家辉
 * @Date 2020/5/18 上午 9:59
 * @Version 1.0
 **/
public class Req222Dto implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = -2594640311269714180L;
    /**
     * 请求代码
     */
    @NotEmpty(message ="requestCode missing.")
    @Pattern(regexp="1020",message="requestCode error.【1020】")
    private String requestCode;

    /**
     * 订单号id
     */
    @NotEmpty(message ="loanId missing.")
    private String loanId;

    /**
     * 用户名
     */
    @NotEmpty(message ="userName missing.")
    private String userName;

    /**
     * 密码
     */
    @NotEmpty(message ="password missing.")
    private String password;

    /**
     * 代理商标识
     */
    @NotEmpty(message ="dealerFalg missing.")
    private String dealerFalg;

    /**
     * 用户信息
     */
    @Valid
    @NotNull(message="userInfo missing.")
    private UserInfoDto userInfo;
    /**
     * 是否本人信息
     */
    @Valid
    @NotNull(message="isFaceOneself missing.")
    private List<IsFaceOneselfDto> isFaceOneselfDtos;
    /**
     * 车辆信息
     */
    @Valid
    @NotNull(message = "carBaseInfo missing.")
    private CarBaseInfoDto carBaseInfoDto;
    /**
     * 银行卡信息
     */
    @Valid
    @NotNull(message = "bankInfo missing.")
    private BankInfoDto bankInfoDto;
    /**
     * 合同信息
     */
    @Valid
    @NotNull(message = "contractFile")
    private List<ContracFileDto> contracFileDtos;
    /**
     * 面签结论
     */
    @Valid
    @NotNull(message = "faceVerdict")
    private FaceVerdictDto faceVerdictDto;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getRequestCode() {
        return requestCode;
    }

    public void setRequestCode(String requestCode) {
        this.requestCode = requestCode;
    }

    public String getLoanId() {
        return loanId;
    }

    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getDealerFalg() {
        return dealerFalg;
    }

    public void setDealerFalg(String dealerFalg) {
        this.dealerFalg = dealerFalg;
    }

    public UserInfoDto getUserInfo() {
        return userInfo;
    }

    public void setUserInfo(UserInfoDto userInfo) {
        this.userInfo = userInfo;
    }

    public List<IsFaceOneselfDto> getIsFaceOneselfDtos() {
        return isFaceOneselfDtos;
    }

    public void setIsFaceOneselfDtos(List<IsFaceOneselfDto> isFaceOneselfDtos) {
        this.isFaceOneselfDtos = isFaceOneselfDtos;
    }

    public CarBaseInfoDto getCarBaseInfoDto() {
        return carBaseInfoDto;
    }

    public void setCarBaseInfoDto(CarBaseInfoDto carBaseInfoDto) {
        this.carBaseInfoDto = carBaseInfoDto;
    }

    public BankInfoDto getBankInfoDto() {
        return bankInfoDto;
    }

    public void setBankInfoDto(BankInfoDto bankInfoDto) {
        this.bankInfoDto = bankInfoDto;
    }

    public List<ContracFileDto> getContracFileDtos() {
        return contracFileDtos;
    }

    public void setContracFileDtos(List<ContracFileDto> contracFileDtos) {
        this.contracFileDtos = contracFileDtos;
    }

    public FaceVerdictDto getFaceVerdictDto() {
        return faceVerdictDto;
    }

    public void setFaceVerdictDto(FaceVerdictDto faceVerdictDto) {
        this.faceVerdictDto = faceVerdictDto;
    }
}
